home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 21
/
CU Amiga Magazine's Super CD-ROM 21 (1998)(EMAP Images)(GB)[!][issue 1998-04].iso
/
CUCD
/
Programming
/
Python-1.4
/
Source
/
882
/
SMAKEFILE
< prev
Wrap
Text File
|
1998-01-31
|
8KB
|
292 lines
#
# SMakefile for Python 1.4, to compile with SAS/C.
#
# Made by Irmen de Jong, 10 nov. 1995.
# updated: 25 march 1996 for use with AmiTCP
# updated: 7 may 1996, now uses 4 intermediate link libs
# updated: 27 aug 1996, AMITCP and AMITCP_NET defines
# updated: 8 dec 1996, for Python 1.4
#
# This makefile replaces all other makefiles.
#
# THIS IS THE 68030/882 BUILD MAKEFILE!!!
#
# Note:
# check out the compilation of
# $Y/ceval.c (Uses very much memory with global optimizer)
# (Takes a very long time to compile; huge switch)
# and
# $O/longobject.c (This one won't compile using the GST?!)
#
.c.o:
$(CC) $< $(COPTS) OBJNAME $@
# The subdirs in which the object files will be:
P=Parser
O=Objects
M=Modules
Y=Python
# The drawers where the sources are:
PS=/Parser
OS=/Objects
MS=/Modules
YS=/Python
# ye old progname:
PROGRAM = Python_030_882
all: message $(PROGRAM)
#
# version information: (CHANGE TO REFLECT COMPILER OPTIONS!)
#
# NOTE: When changing this, you must recompile Python/getversion.c and
# Python/getcompiler.c! (or they will contain wrong strings)
#
VERSIONINFO="68030/882/AmiTCP"
#
# define to use mempools library
# (use mempools39 to link with V39+ only pools lib => shorter & faster)
#
MEMPOOLSLIB=LIB:mempools.lib
#MEMPOOLSLIB=LIB:mempools39.lib
STARTUP=LIB:c_mempools.o
#
# define if NOT using mempools library
#
#MEMPOOLSLIB=
#STARTUP=LIB:c.o
#
#
# define if using AMITCP
#
AMITCPDEF=DEFINE=AMITCP INCLUDEDIR=netinclude:
AMITCPOBJECTS=$M/pwdmodule.o $M/grpmodule.o $M/cryptmodule.o $M/syslogmodule.o $M/socketmodule.o $M/selectmodule.o
AMITCPLIB=Amiga/python_net.lib
#
# define if developing new module -> faster turnarounds
# (add it to the module list if it's finished)
#
NEWMODULES = $M/arexxmodule.o $M/doslibmodule.o
#
# Amiga additional stuff
#
AMIGASTUFF=
#
# Link library configuration. Change to reflect correct math options etc.
#
CLIBS = $(MEMPOOLSLIB) $(AMITCPLIB) LIB:scm881.lib LIB:sc.lib
# Set link options to thy likes.
# (compiler options can be changed using scopts)
LINKOPTS = SC SD BATCH NOICONS
COPTS = $(AMITCPDEF)
P_OBJECTS = $P/acceler.o $P/grammar1.o \
$P/myreadline.o $P/node.o $P/parser.o $P/parsetok.o \
$P/tokenizer.o $P/intrcheck.o
M_OBJECTS = $M/config.o $M/getpath.o $M/environment.o $M/amigamodule.o \
$M/regexpr.o $M/arraymodule.o $M/structmodule.o $M/stropmodule.o \
$M/mathmodule.o $M/regexmodule.o $M/newmodule.o $M/soundex.o \
$M/timemodule.o $M/binascii.o $M/md5module.o $M/md5c.o $M/rotormodule.o \
$M/urlopmodule.o $M/operator.o $M/cmathmodule.o $M/errnomodule.o \
$M/timingmodule.o
Y_OBJECTS = $Y/modsupport.o $Y/pythonrun.o $Y/errors.o $Y/bltinmodule.o \
$Y/ceval.o $Y/compile.o $Y/frozen.o $Y/getargs.o \
$Y/getcompiler.o $Y/getcopyright.o $Y/getmtime.o \
$Y/getplatform.o $Y/graminit.o $Y/import.o \
$Y/importdl.o $Y/marshal.o $Y/structmember.o $Y/sysmodule.o \
$Y/traceback.o $Y/sigcheck.o $Y/hypot.o
O_OBJECTS = $O/abstract.o $O/accessobject.o $O/fileobject.o $O/floatobject.o \
$O/funcobject.o $O/intobject.o $O/listobject.o $O/longobject.o \
$O/mappingobject.o $O/methodobject.o $O/moduleobject.o $O/object.o \
$O/rangeobject.o $O/stringobject.o $O/tupleobject.o $O/typeobject.o \
$O/classobject.o $O/frameobject.o $O/sliceobject.o $O/complexobject.o \
$O/cobject.o
#
# The objects are combined into link libraries.
# Somehow, this makes the resulting executable some 10 Kb smaller.
#
$P/parser.lib: $(P_OBJECTS)
-delete $P/parser.lib
oml $P/parser.lib a <@<
$(P_OBJECTS)
<
$Y/python.lib: $(Y_OBJECTS)
-delete $Y/python.lib
oml $Y/python.lib a <@<
$(Y_OBJECTS)
<
$M/modules.lib: $(M_OBJECTS)
-delete $M/modules.lib
oml $M/modules.lib a <@<
$(M_OBJECTS)
<
$O/objects.lib: $(O_OBJECTS)
-delete $O/objects.lib
oml $O/objects.lib a <@<
$(O_OBJECTS)
<
LIBS = $P/parser.lib $Y/python.lib $M/modules.lib $O/objects.lib $(CLIBS)
OBJECTS=$M/main.o $Y/getversion.o $(AMITCPOBJECTS) $(NEWMODULES) $(AMIGASTUFF)
Python882.GST: amiga/make_gst.c /include/config.h SCOPTIONS SMAKEFILE
-delete >NIL: Python882.GST
-GST >NIL: Python882.GST unload
-SC amiga/make_gst.c MKGST Python882.GST $(COPTS) NOOBJNAME
$(PROGRAM): Python882.GST $(OBJECTS) $(LIBS)
SC /Python/getversion.c NOMODIFIED $(COPTS) DEFINE=VERSIONINFO=$(VERSIONINFO) OBJNAME=Python/getversion.o
SLINK WITH <<
TO $(PROGRAM)
FROM $(STARTUP)
$(OBJECTS)
$(LINKOPTS)
LIB $(LIBS)
<<
# -delete >NIL: \#?.tmp
link:
SLINK WITH <<
TO $(PROGRAM)
FROM $(STARTUP)
$(OBJECTS)
$(LINKOPTS)
LIB $(LIBS)
<<
-delete >NIL: \#?.tmp
clean:
-delete $P/\#?.(o|lib) quiet
-delete $O/\#?.(o|lib) quiet
-delete $M/\#?.(o|lib) quiet
-delete $Y/\#?.(o|lib) quiet
-delete $(PROGRAM) \#?.tmp QUIET
-delete Python882.GST >NIL:
message:
@echo "*N****** BUILDING: $(PROGRAM) *******N"
$P/acceler.o: $(PS)/acceler.c
$P/bitset.o: $(PS)/bitset.c
$P/firstsets.o: $(PS)/firstsets.c
$P/grammar.o: $(PS)/grammar.c
$P/grammar1.o: $(PS)/grammar1.c
$P/listnode.o: $(PS)/listnode.c
$P/myreadline.o: $(PS)/myreadline.c
$P/node.o: $(PS)/node.c
$P/parser.o: $(PS)/parser.c $(PS)/parser.h
$P/parsetok.o: $(PS)/parsetok.c
$P/tokenizer.o: $(PS)/tokenizer.c $(PS)/tokenizer.h
$P/intrcheck.o: $(PS)/intrcheck.c
$M/arexxmodule.o: $(MS)/arexxmodule.c
$M/doslibmodule.o: $(MS)/doslibmodule.c
$M/amigamodule.o: $(MS)/amigamodule.c
$M/arraymodule.o: $(MS)/arraymodule.c
$M/binascii.o: $(MS)/binascii.c
$M/environment.o: $(MS)/environment.c
$M/getpath.o: $(MS)/getpath.c
$M/main.o: $(MS)/main.c
$M/mathmodule.o: $(MS)/mathmodule.c
$M/md5c.o: $(MS)/md5c.c $(MS)/md5.h
$M/md5module.o: $(MS)/md5module.c
$M/newmodule.o: $(MS)/newmodule.c
$M/pwdmodule.o: $(MS)/pwdmodule.c
$M/cryptmodule.o: $(MS)/cryptmodule.c
$M/grpmodule.o: $(MS)/grpmodule.c
$M/syslogmodule.o: $(MS)/syslogmodule.c
$M/socketmodule.o: $(MS)/socketmodule.c
$M/selectmodule.o: $(MS)/selectmodule.c
$M/regexmodule.o: $(MS)/regexmodule.c
$M/regexpr.o: $(MS)/regexpr.c $(MS)/regexpr.h
$M/signalmodule.o: $(MS)/signalmodule.c
$M/stropmodule.o: $(MS)/stropmodule.c
$M/structmodule.o: $(MS)/structmodule.c
$M/timemodule.o: $(MS)/timemodule.c
$M/config.o: $(MS)/config.c
$M/soundex.o: $(MS)/soundex.c
$M/rotormodule.o: $(MS)/rotormodule.c
$M/urlopmodule.o: $(MS)/urlopmodule.c
$M/operator.o: $(MS)/operator.c
$M/cmathmodule.o: $(MS)/cmathmodule.c
$M/errnomodule.o: $(MS)/errnomodule.c
$M/timingmodule.o: $(MS)/timingmodule.c
$Y/hypot.o: $(YS)/hypot.c
$Y/bltinmodule.o: $(YS)/bltinmodule.c
$Y/ceval.o: $(YS)/ceval.c
SC $(YS)/ceval.c $(COPTS) NOOPTGLOBAL DEFINE=MAX_RECURSION_DEPTH=1000 OBJNAME $@
$Y/compile.o: $(YS)/compile.c
$Y/errors.o: $(YS)/errors.c
$Y/frozen.o: $(YS)/frozen.c
$Y/fmod.o: $(YS)/fmod.c
$Y/getargs.o: $(YS)/getargs.c
$Y/getcompiler.o: $(YS)/getcompiler.c
SC $(YS)/getcompiler.c $(COPTS) DEFINE=VERSIONINFO=$(VERSIONINFO) $(COPTS) OBJNAME $@
$Y/getcopyright.o: $(YS)/getcopyright.c
$Y/getmtime.o: $(YS)/getmtime.c
$Y/getopt.o: $(YS)/getopt.c
$Y/getplatform.o: $(YS)/getplatform.c
$Y/getversion.o: $(YS)/getversion.c
$Y/graminit.o: $(YS)/graminit.c
$Y/import.o: $(YS)/import.c
$Y/importdl.o: $(YS)/importdl.c $(YS)/importdl.h
$Y/marshal.o: $(YS)/marshal.c
$Y/modsupport.o: $(YS)/modsupport.c
$Y/mystrtoul.o: $(YS)/mystrtoul.c
$Y/pythonrun.o: $(YS)/pythonrun.c
$Y/structmember.o: $(YS)/structmember.c
$Y/sysmodule.o: $(YS)/sysmodule.c
$Y/traceback.o: $(YS)/traceback.c
$Y/sigcheck.o: $(YS)/sigcheck.c
SC $(YS)/sigcheck.c $(COPTS) NOOPTINLINE OBJNAME $@
$O/abstract.o: $(OS)/abstract.c
$O/accessobject.o: $(OS)/accessobject.c
$O/classobject.o: $(OS)/classobject.c
$O/fileobject.o: $(OS)/fileobject.c
$O/floatobject.o: $(OS)/floatobject.c
$O/frameobject.o: $(OS)/frameobject.c
$O/funcobject.o: $(OS)/funcobject.c
$O/intobject.o: $(OS)/intobject.c
$O/listobject.o: $(OS)/listobject.c
$O/longobject.o: $(OS)/longobject.c
SC $(OS)/longobject.c $(COPTS) NOGST OBJNAME $@ ; DOESN'T COMPILE WITH GST
$O/mappingobject.o: $(OS)/mappingobject.c
$O/methodobject.o: $(OS)/methodobject.c
$O/moduleobject.o: $(OS)/moduleobject.c
$O/object.o: $(OS)/object.c
$O/rangeobject.o: $(OS)/rangeobject.c
$O/stringobject.o: $(OS)/stringobject.c
$O/sliceobject.o: $(OS)/sliceobject.c
$O/tupleobject.o: $(OS)/tupleobject.c
$O/typeobject.o: $(OS)/typeobject.c
$O/complexobject.o: $(OS)/complexobject.c
$O/cobject.o: $(OS)/cobject.c
$(AMITCPLIB):
execute <<
cd Amiga/python_netlib
smake python_net.lib
rename python_net.lib /
<<